Compact disk (CD) recordings are a preferred means for distributing both digital audio recordings and computer software. CD audio recordings are almost universally made in accordance with standard 908 of the International Electrotechnical Commission (IEC), entitled “Compact Disc Digital Audio System” (Geneva, Switzerland, 1987), which is incorporated herein by reference. The 908 standard defines how audio data are to be encoded and recorded on the disk, enabling the data to be played back using standard digital decoding chips. Different standards apply to other types of data, such as computer software and video, which may be recorded on CD, as well. The various types of CDs and standards for CD recording and data storage are described, for example, in a booklet entitled “The CD Family,” published by Philips Consumer Electronics B.V. (Eindhoven, Netherlands), which is incorporated herein by reference. A “road map” shown on page 29 of the booklet lists different formats that exist among members of the “CD family.”
FIG. 1 is a block diagram illustrating the structure of a frame 20 of audio data for storage on an audio CD, in accordance with the IEC 908 standard. Each such frame comprises one control symbol 24, followed by thirty-two data symbols 28. Each symbol is spaced from the preceding one by a separator 30 comprising three auxiliary bits. A block of data on the CD comprises ninety-eight frames, each of which is separated from the preceding frame by a twenty-four-bit synchronization pattern 22.
Each symbol 28 recorded on the CD in frame 20 comprises fourteen channel bits, which correspond to a single byte of binary input data. Each of the 256 possible byte values is encoded in a process of eight-to-fourteen bit modulation (known as “EFM” modulation) as a fourteen-bit code, specified in the IEC 908 standard. A characteristic of the EFM codes is that over a run of coded data of a specified maximum length Tmax, including successive symbols 28 and separators 30, there will always be at least one transition (from zero to one or from one to zero). Tmax is specified by the standard to be 11 channel bits long. When the data are read out from the CD, any absence of such a transition over the course of 12 successive bits will be noted as a medium error.
Following control symbol 24, each frame 20 comprises two data segments 26 and 34 and two error correction segments 32 and 36. Each data segment comprises twelve symbols, containing data and parity information, typically corresponding to digitized audio data. Error corrections segments 32 and 36 each comprise four symbols, which are calculated based on the data in segments 26 and 34 using a Cross Interleave Reed Solomon Code (CIRC), as specified by the 908 standard. The CIRC segments are read during playback and are used to identify errors in the corresponding data segments. Dedicated, proprietary processors, typically based on custom integrated circuit chips, are used in CD players to correct the errors if possible and to conceal those errors that cannot be corrected, as described further hereinbelow.
FIG. 2 is a schematic block diagram illustrating the functions of an integrated circuit (IC) processor 40 used for digital processing of data read from a CD, as is known in the art. The functional blocks shown in FIG. 2 are typical of commercially-available ICs, such as the SAA7345 and SAA7348 devices produced by Philips Semiconductors (Eindhoven, The Netherlands), which are used in common audio CD players.
Data are read from the CD by an optical reading head (not shown) and are input to a phase locked loop (PLL) 42 for synchronization purposes. Fourteen-bit data segments 28 are converted to eight-bit symbols by an EFM demodulator 44 and are then stored by a first-in-first-out (FIFO) memory 46. An error corrector 48 compares the audio data read from data segments 26 and 34 to the corresponding CIRC data in segments 32 and 36. If an error is found, corrector 48 attempts to correct the data, using the CIRC information. Such correction is not always possible, however. Corrector 48 sets indicator flags 50 depending on whether an error was detected and whether it could be corrected.
Data from error corrector 48 is input to a digital audio processing circuit 52. If flags 50 indicate that there was an uncorrectable error in the data, an interpolator 54 conceals the erroneous value either by holding a preceding data value or by interpolating between adjacent values. The erroneous value itself is discarded. A filter 56 processes the data to enhance audio quality, and a data interface 58 formats the data for conversion to analog form by a digital/analog converter (DAC) 59. Although some processing circuits can provide a digital output of the “raw” data, without error correction or concealment, special equipment is required to deal with this digital output, and such equipment is generally available only to established recording studios.
Original CDs are produced by stamping plastic blanks with a master mold piece, which is produced using costly, specialized equipment. Because of the high cost of CD recording equipment, CD recordings were considered, until recently, to be relatively secure against unauthorized copying. This situation has changed recently, as inexpensive CD recording devices and read/write media have become available to consumers. Thus, it is now easy, using a conventional personal computer with a read/write CD drive, or with one read drive and one write drive, to make exact, digital copies of all types of CDs. The CD content is read out by the computer, byte by byte, from one CD, typically a legitimately-purchased original CD, and then written to a blank CD so as to make a pirate copy. Similar copying methods may be used with other media, such as DVD (Digital Video Disks, also known as Digital Versatile Disks). Financial losses to the recording and software industries due to such pirate copying are estimated to be in the billions of dollars.